Systems and methods for video-rich navigation

ABSTRACT

Methods and systems are disclosed that provide a user with efficient video-rich navigation (VRN) of media assets in an interactive media guidance application, such as an interactive program guide. A user can select a displayed video asset and perform an action on the selectable video asset, for example, using a remote control. The manner in which the video assets are displayed and the actions enabled for the particular video assets are defined by screen data transmitted to the user equipment in a VRN data feed.

CROSS-REFERENCE TO OTHER PATENT APPLICATIONS

This application claims the benefit to U.S. provisional PatentApplication No. 60/667,200, filed Mar. 30, 2005, the contents of whichare hereby incorporated herein by reference in their entirety.

BACKGROUND OF THE INVENTION

The present invention is directed towards systems and methods forproviding “Video-Rich Navigation” (VRN) in an interactive media guidanceapplication.

In current interactive media guidance applications, a user is presentedwith program guide data in a form of a neutral menu showing theavailable program mix and other available assets, such asVideo-On-Demand (VOD), High-Definition Television (HDTV), Pay-per-View(PPV), Digital Video Recorder (DVR), music channels, digital cable anddigital broadcast satellite (DBS), textual information, etc. A user istypically presented with a main menu and clicks through several optionsbefore arriving at a program the user may be interested in.

Due to the ever increasing number of channels and services, subscribersare faced with a daunting challenge of simplifying and enhancing theirTV viewing experience. Network operators need ways to make viewers awareof and interested in their programming choices, and easier approachesare needed to seamlessly combine offerings from multiple networkoperators in ways transparent to the user.

It would therefore be desirable to provide systems and methods topresent guidance for video assets to a user in a more user-friendlymanner. It would also be desirable to enable network operators andservice providers to display video pages with screen elements thatprovide selectivity, interactivity and enhanced functionality to makethe display screen more easily navigable.

SUMMARY OF THE INVENTION

Video-Rich Navigation (VRN) enables users to access services and/orassets from video-rich menu screens in an interactive televisionapplication system. VRN screens (also sometimes referred to herein as“pages”) may include both traditional menu buttons and “VRN buttons.”VRN buttons are interactive buttons and include video screen elements,or cells. VRN screens may be provided to the user in a VRN channeland/or may be assembled by filling in the cells from analog or digitalvideo broadcast channels or from composite video streams (e.g., MPEG-2)composed of several digital channels. The VRN channels are tunable bythe user equipment, for example, using multiple tuners or selecting adigital channel from the composite video stream. VRN screens may alsoaccess data from video-on-demand (VOD) streams to create on-demand VRNportals (e.g., using VOD broadcast barker functionality). As usedherein, a “VRN channel” refers to either a tunable channel or VODstream. A VRN channel or multiple linked VRN channels may provide a setof features referred to herein as a “VRN Application”. An exemplaryapplication with one or more VRN channels may provide interactiveprogram guide features, interactive news features, interactive sportsapplication features, or video-on-demand features.

The look and feel of a VRN screen may be defined by screen data providedto user equipment. For example, screen data may include contentidentifiers that uniquely identify the on-screen elements on a VRN page.The screen data may includes template definitions and control data, forexample, in the form of “chunks” that define the content displayed onthe VRN page and interactive functions of the screen elements.

Screen data may also include unique identifiers for programs, channels,VOD programs, graphics, etc. Screen data may further specify the displayof graphics, on-screen text, and the behavior and response to user inputof selectable items in a VRN screen.

The screen data may be provided to the user equipment in-band orout-of-band. If carried in-band, screen data may be retrieved as needed,but may be cycled at a rate sufficient to display the VRN screens in areasonable time when the screens are accessed by a user (such as whentuned to or retrieved on demand). For example, data may be cycled atleast once per second and as fast as twice per second. If carriedout-of-band, screen data may be stored locally by user equipment (e.g.,a set top box).

A VRN client on the user equipment executes the screen data to provide aVRN application. VRN applications may be executed automatically when anend user equipment is powered on, executed automatically when a specificchannel is tuned, accessed by a user from one or more menus of aninteractive television application also running on user equipment (suchas an interactive program guide, or IPG), or accessed by a user viabuttons from a remote control device.

In one illustrative embodiment, for example, video assets for a VRN pageare included in a video feed as a composite video. A template definesthe position of each asset within the video, and defines the positionsof other non-video assets within a VRN page. The VRN client generatesthe VRN page by overlaying non-video assets, such as a background andmenu options, onto the video feed leaving at least some of the videoassets viewable for use as VRN buttons. As the VRN client receives usernavigation commands, it moves a highlight region among the selectableelements of the display. When the user selects an element, such as avideo element, the VRN client performs an action associated with thatelement as defined in the screen data.

Further embodiments, features and modifications are disclosed more fullyin the U.S. provisional patent application Ser. No. 60/667,200, filedMar. 30, 2005, to which this application claims priority and thecontents of which, including Appendices A through P, are included herebyin this application by reference in their entirety.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention, its nature andvarious advantages will be more apparent upon consideration of thefollowing detailed description, taken in conjunction with theaccompanying drawings in which:

FIG. 1 shows an illustrative system architecture for providing VRN;

FIG. 2 shows an illustrative VRN screen implemented as a Home Page;

FIG. 3 shows a wire frame representation of the VRN screen of FIG. 2;

FIGS. 4-17 show different embodiments of illustrative VRN screens andassociated wire frame templates;

FIG. 18 shows a first embodiment of control data for defining featuresand interactive elements for a VRN application;

FIG. 18A shows a first segment of the control data defining the objectsin the control data for a VRN application;

FIG. 18B shows a second segment of the control data for controllingprogram availability and key actions in a VRN application;

FIG. 19 shows a second embodiment of control data for defining featuresand interactive elements for a VRN application;

FIG. 20 shows schematically definition files associated with a VRNapplication;

FIG. 21 shows an exemplary process flow for setting up a VNR screen andperforming a user-initiated action;

FIG. 22 shows an exemplary process flow for setting up a VRN screenusing templates;

FIG. 23 shows an exemplary process flow for setting up a VRN page withselectable video elements; and

FIG. 24 shows an exemplary process flow for setting up a VRN applicationfrom different VRN feeds.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The systems and methods described herein describes certain embodimentsof providing and navigating video content in form of a video richnavigation (VRN) page displayed, for example, on a TV display or othertype of monitor or visual communication device. The VRN page includes aplurality of suitably arranged cells and can be launched, for example,when the TV display and/or tuner device are turned on. The cells on theVRN page can be populated with video assets from broadcast channels,video on demand (VOD), pay-per-view (PPV), advertising channels,recorded assets (DVR), locally stored assets, web-sites, and the like.The cells may be any suitable size and/or shape and may be located atany suitable location on the display screen. The cells may include text,still images, full motion video images, symbols, logos, or a combinationof these or other suitable elements. In the following description, theterms “VRN Page” and “VRN Screen” will be used interchangeably anddenote a full screen display, for example, on a TV monitor.

FIG. 1 shows an illustrative system architecture for providing VRN.Central facility 10 includes content source 12, VRN screen data source14 and distribution equipment 16. Content source 12 may be any equipmentsuitable for producing or generating video content for VRN screens. Thevideo content from content source 12 may be in analog or digital form.In other embodiments, content source 12 may be in a facility other thanthe central facility 10, and may also provide content for distributionas regular television channels (e.g., broadcast programming, VODcontent, etc.).

VRN screen data source 14 may be any equipment suitable for generatingVRN screen data. For example, VRN screen data source 14 may be apersonal-Computer (PC) based system or a workstation. User interface 18may be any suitable interface, such as a windows-based or Unix-basedgraphic user interface (GUI), which allows, for example, an operator todefine VRN definitional data, such as files, and synchronize the VRNscreen data of the definitional data with content from content source12. The user interface may allow an operator, for example, to specifytransitions between distinct configuration specifications for selectableitems in synchronization with video content. The user interface may alsoallow an operator to define control data which control, inter alia, theappearance, functionality, and interactivity of the screen elements, aswell as the content or asset displayed in a screen element.

In some embodiments, the user interface may allow an operator to assigna higher precedence to initial configuration specifications for newvideo content when the VRN screen transitions between distinct contentelements. This will allow new data associated with such content to betransmitted in time. For example, for the change when a video windowchanges from ESPN to CNN, the new VRN screen data associated with CNNmay be given precedence over other data. VRN screen changes may bescheduled by, for example, specifying an activate time and/or adeactivate time, or by specifying version numbers, in the VRN screendata.

Compiler 20 may be any suitable combination of hardware and software forcompiling the VRN screen data of the definitional files into binary VRNscreen data. In some embodiments, definitional data may be stored in adirectly usable form and may not require compilation.

Distribution equipment 16 is any suitable equipment for distributing VRNscreens from content source 12 and VRN screen data from VRN screen datasource 14 over communications path 19 to distribution facility 20, andfurther over communication path 28 for distribution to user equipment30. Central facility 10 may distribute the screens and screen data tomultiple distribution facilities 20, but only one has been shown toavoid over-complicating the drawing. In other embodiments, centralfacility 10 may distribute the VRN screens and/or screen data to usersdirectly. Distribution equipment 16 may distribute the VRN screens andVRN screen data in any suitable analog or digital format and over anysuitable communications path (e.g., satellite or terrestrial broadcast,the Internet, etc.). VRN screen data may be distributed in-band or outof band from the VRN screens.

Distribution facility 20 may be any facility (e.g., a headend) suitablefor receiving the VRN screens and screen data and distributing thescreens and screen data to user equipment 30. There may be multipleinstances of user equipment 30, but only one instance has been shown toavoid over-complicating the drawing. Distribution facility 20 may havecontent source 24 and local insertion equipment 22 for allowing a localoperator to insert content and data into the VRN screens or VRN screendata, respectively, and compile VRN screen data into binary format fortransmission (if required). Local insertion equipment 22 may run, forexample, on a local version of user interface 18 and compiler 20.

Distribution equipment 26 may distribute the VRN screens and VRN screendata in any suitable analog or digital format and over any suitablecommunications path to user equipment 30 (e.g., broadcast, cable, theInternet, etc.). The communication paths 19, 49 and 28 may include, forexample, a satellite path, a fiber-optic path, a cable path, an Internetpath, or any other suitable wired or wireless path. For example, VRNscreens may be provided as MPEG-2 feeds. VRN screen data may bedistributed in-band or out of band from the VRN screens. Distributionequipment 26 may provide the VRN screens (and if in-band the VRN screendata) as tunable analog or digital channels, or as VOD streams (both ofwhich are referred to as VRN channels). The VRN channels provide theusers of user equipment 30 with a set of interactive features that makeup a VRN application.

In some embodiments, distribution facility 20 may provide the VRNchannel full-time over a given analog or digital channel. Alternatively,distribution facility 20 may provide VRN channels part-time.

Distribution facility 20 may provide one or more VRN applications touser equipment 30. User equipment 30 may include any equipment suitablefor providing an interactive television experience including the VRNapplications provided by distribution facility 20. User equipment 30 mayinclude television equipment such as a television, set-top box,recording device, video player, user input device (e.g., remote control,keyboard, mouse, touch pad, touch screen and voice recognitioninterface), or any other device suitable for providing an interactivemultimedia experience. For example, user equipment 30 may include a DCT2000, 2500, 5100, 6208 or 6412 set-top box provided by Motorola, Inc. Insome embodiments, user equipment 30 may include computer equipment, suchas a personal computer with a television card (PCTV). In someembodiments, user equipment 30 may include a gaming system, a portableelectronic device, such as a portable DVD player, a portable gamingdevice, a cellular telephone, a PDA, a music player (e.g., MP3 player),or any other suitable portable or fixed device.

In the example of FIG. 1, user equipment 30 includes at least controlcircuitry 32, display device 34, recording device 36, and user inputdevice 38, which may be implemented as separate devices or as a singledevice. A VRN client is implemented on user equipment 30 to provide theVRN application.

Control circuitry 32 is adapted to receive user inputs from input device38 and execute the instructions of the VRN client (and therefore the VRNapplication) and any other interactive television applications runningon user equipment 30. Control circuitry 32 may include one or moretuners (e.g., analog or digital tuners), decoders (e.g., MPEG decoders),processors (e.g., Motorola 68000 family processors), memory (i.e., RAMand hard disks), communications circuitry (e.g., cable modem circuitry),input/output circuitry (e.g., graphics circuitry), connections to thevarious devices of user equipment 30, and any other suitable componentfor providing analog or digital television programming and interactivetelevision features. In one embodiment, control circuitry 32 may beincluded as part of one of the devices of user equipment 30 such as, forexample, part of recording device 36, display device 34, or any othersuitable device (e.g., a set-top box, television, video player, etc.).

Users may have access to multimedia sources 12 a, 12 b, 12 c, and webcontent 12 d from the central facility 10 and/or to similar sources 24(which may or may not include similar multimedia sources and webcontent, 24 a, 24 b, 24 c, 24 d) using a cable television network, alocal area network (LAN), a wireless network, or any other suitablemeans or combination thereof. In some embodiments, the equipment of aplurality of users may be connected to each other using any suitablemeans.

Display device 34 may be any suitable device such as, for example, atelevision monitor, a computer monitor, or a display incorporated inuser equipment 30 (e.g., a cellular telephone or music player display).Display device 34 may also be configured to provide for the output ofaudio.

Optional recording device 36 may be a personal video recorder (PVR),digital video recorder (DVR), video cassette recorder (VCR),DVD-recorder, or any other suitable video recorder. Recording device 36may include one or more tuners.

The VRN client implemented on user equipment 30 may be a stand aloneclient or part of an interactive television application, such as aninteractive television program guide (IPG). The interactive televisionapplication may receive interactive television application data fromapplication data source 40. As shown in FIG. 1, the data may be receivedvia distribution facility 20 over communication path 49. Alternatively,the data may be received by user equipment 30 from application datasource 40 over a direct communication path (not shown). Application datasource 40 may be part of central facility 10 (not shown). In someembodiments, the interactive television application data may includeelements that are referenced in the VRN screen data for inclusion in theVRN application such as graphics, logos, etc. For example, VRN templatesmay be provided as part of the interactive television application data.

User equipment 30 may execute multiple interactive televisionapplications. In some of such embodiments, the VRN client may provide anapplication program interface (API) to allow the other interactivetelevision applications to launch the VRN application or access VRNapplication features. If the VRN client is part of a particularinteractive television application, such as an IPG, that application mayprovide an API to the other applications so that they may launch oraccess the VRN application. In still other approaches, an interactivetelevision application may provide an API to the VRN application. Thismay provide the VRN application access to various features of theinteractive television application. For example, user equipment 30 mayprovide an IPG. The VRN screen data may specify that the VRN applicationcall the IPG (or features of an IPG when, for example, the VRN client isan IPG) to, for example, provide program listings having certaincharacteristics (e.g., listings for a given channel, service or timeslot).

As mentioned above, the VRN features must be enabled on a VRN client andVRN data, such as the screen data and the control data, must beavailable to the VRN client for a user to take advantage of the VRNfeatures. Accordingly, when a user tunes to a broadcast channel or avideo stream, such as a PPV or VOD service, the VRN client may firstdetermine whether the channel or video stream includes VRN screen data.This determination may be made automatically (because the channel orvideo stream has not yet been identified to the guide as a VRN channel),or performed only when the channel is identified as a′VRN channel. Ifthe channel or video stream does not have VRN screen data, the VRNclient may continue to monitor the channel or VOD asset to detect suchdata if it is subsequently transmitted. If the VRN screen data isreceived while the VRN client is in the idle state (such as when theuser is watching a program or a streamed asset) or FLIP state (such aswhen the user is tuning and the VRN client is an IPG), then the VRNclient may exit the idle or FLIP state and launch a VRN application. Ifthe VRN client stops receiving VRN data for a period of time (e.g., 15seconds), the VRN client may revert to the idle state.

The transmitted screen data may include references to templates.However, templates are not required for a VRN application. Templates aredefinitional documents (or their compiled equivalent) that are receivedand may be stored by the VRN client. In some embodiments, templates maybe hard coded and included as part of the VRN client. Templates definethe screen appearance of a VRN application, but contain placeholders forcontent instead of the actual content or information identifying thecontent. A template identifier can be used instead of the actualtemplate definitions to identify a template, for example, a templatestored on the client. The VRN client uses the template identifier toretrieve a template from memory and then populates the template based oncontent identifiers in the VRN screen data. This may reduce the amountof data being transmitted. The VRN client changes templates and therebythe appearance of the VRN screen according to the change in the templateidentifiers. The template identifiers and/or template definitions can betransmitted to the client via a data feed other than the VRN screen datafeed.

The following sections describe illustrative embodiments of VRNapplications. When the user equipment, such as a set top box or display,is first switched on and a VRN video feed and VRN screen data areavailable, a VRN Home Page may be displayed. The elements and behaviorsdescribed below are described more comprehensively in relation to adisplayed Home Page, but that is only for purposes of illustration.Other VRN screens, which may or may not be Home Pages, such as other VRNscreens accessible from a VRN Home Page, will be described following thedescription of the exemplary Home Page, with only the different pagelayout and control functionality highlighted.

Home pages (and other VRN screens) may include a number of elements,either interactive or not interactive, that occupy defined regions onthe display (or VRN page). In one embodiment, the content of the variousVRN elements on the VRN screen can be transmitted with the VRN videofeed. Other attributes of the VRN screen elements, such as the size,color scheme, and interactive functions associated with the VRN screenelements can be transmitted to the VRN client via the VRN screen data.The VRN screen data may cause certain unsupported VRN screen elements(e.g., VRN screen elements with associated content that is eitherunavailable or blocked) or regions on the VRN screen to be omitted,obscured, or grayed out. Interactive VRN screen elements, also referredto as VRN buttons, can be highlighted and selected. If the end usernavigates to a specific interactive element (e.g., by using the arrowkeys on a remote control device), the interactive element will bevisually highlighted in some fashion. If the end-user “selects” ahighlighted interactive element (e.g., by pressing the “OK” button on aremote control device), the system will display a specific tunablechannel, VOD clip, VOD screen, IPG screen, or another interactive mediaguidance application, based on selection behavior specified for theinteractive element in the VRN screen data.

The following description of VRN screens is organized as follows:

Section I addresses the general setup of a Home Page, with Section I.Adescribing illustrative Home Page elements and illustrative Home Pagebehavior. Section I.B describes illustrative Home Page responses toremote control keys. Section I.C describes illustrative IPG functionscalled by a Home Page application. Section I.D describes illustrativeIPG behavior for providing Home Page access through an IPG.Section II describes the properties and use of templates. Section IIIgives examples of illustrative additional VRN screens based ontemplates. Section IV introduces the use of control data or chunks.Details of the processes relating to the generation of templates,generation of VRN screens and selectable video elements, generation ofinteractive and non-interactive buttons (or VRN screen elements), andthe use the VRN screen and control data are illustrated in the exemplaryprocess flows depicted in FIGS. 21 through 24. Setup of an IllustrativeHome Page

I.A Description of Illustrative Home Page Elements

FIG. 2 shows an illustrative VRN screen for a Home Page with variousavailable programming elements having interactive and non-interactivefeatures and content. FIG. 3 is a corresponding exemplary template inform of a wire frame with elements (“elements”) of populated withfull-motion video and other contents.

Elements of the screen can be of the following types:

Still image—Identified in the VRN screen data by, for example, filename.

VOD video clip—Identified in the VRN screen data by, for example,provider ID and asset ID.

Live video source—Identified in the VRN screen data by, for example,source ID.

Video playlist—Sequence of VOD video clips and/or live video sources.

Graphic—Described in the VRN screen data by, for example, metadata.

Text block—Described in the VRN screen data by, for example, metadata.

Audio track—Identified in the VRN screen data by, for example, a cableplant audio PID.

These are only illustrative, as any other suitable elements may be used.In some embodiments supporting two-way communications for example, aninput form may be provided to allow users to submit a form via HTML toan application server.

Table 1 describes the various elements referenced in FIGS. 2 and 3.

TABLE 1 ID Description BG-1 Background SE-1 Static Element 1: Home PageLogo. SE-2 Static Element 2: Message Indicator DE-1 Dynamic Element 1:Time DE-2 Dynamic Element 2: Temperature VW-1 Video Window 1: Main VideoWindow CE-1 Child Element 1: Main Video Window Info MB-1 to MB-6 MenuButtons 1-6 VS-1 to VS-4 Video Swatches 1-4 CE-2 to CE-5 Child Elements2-5: Video Swatch Titles for Video Swatches 1-4, respectively HE-1Highlight Element 1: Video Swatch Info for currently highlighted VideoSwatch

I.A.1 Background (BG-1)

A Background is a full-screen, non-interactive element that sits behindall other elements in the template. In FIG. 3, BG-1 represents theBackground element. This element is assumed to contain the blue graphicbackdrop and black graphic header block shown in FIG. 2. Note that insome approaches the Home Page Logo (SE-1) (or other logos) could beembedded in the Background element.

The Background element may be any one of the following:

Still image

VOD video clip

Live video source

Video playlist

The Background element has no special behavior associated with it.Changes of the Background element may be scheduled in the VRN screendata based on date and/or day part.

I.A.2 Home Page Logo (SE-1)

The Home Page Logo is a non-interactive, static element (hence thedesignation “SE-1” in FIG. 3), meaning that it remains the same whilethe Home Page is displayed. (In embodiments employing templates,described below in Section III, static elements remain the same in allinstances of a specific template). If it is desired that the Home PageLogo element change to coincide with changes of the Background element,it may be simpler in some embodiments to embed the Home Page Logo in theBackground element, as mentioned in the previous section. The Home PageLogo element is a still image. In embodiments where the screen of FIG. 2is used for a non-Home Page, this element may be replaced by a differentlogo.

I.A.3 Message Indicator (SE-2)

The Message Indicator is an interactive, static element. While theMessage Indicator element itself does not change, it has a specialbehavior called conditional visibility; it is only visible if thesubscriber has one or more unread messages in an IPG Message Center. TheMessage Indicator element has no special highlight behavior. Selectionbehavior is to display an IPG Message Center screen. The MessageIndicator element could be either a still image or a text block (i.e. anicon).

I.A.4 Time (DE-1)

The Time is an interactive, dynamic element (hence the designation“DE-1” in FIG. 3) that changes to reflect the current time on the STB(set-top box) clock. The Time element has no special highlight behavior.Selection behavior is to display the IPG TV Timers screen. The Timeelement is a text block.

I.A.5 Temperature (DE-2)

The Temperature is an interactive, dynamic element that changes toreflect the current temperature provided for the cable system. Thiselement is a concatenation of two distinct text strings—one containingthe text “Current Temperature”, and another containing the actualtemperature reading. The Temperature element has no special highlightbehavior. Selection behavior is to display an IPG Weather screen. TheTemperature element is a text block.

I.A.6 Main Video Window (VW-1)

The Main Video Window is an interactive, dynamic element that may, forexample, cycle through a playlist of VOD video clips. The Main VideoWindow cycles continuously through the playlist, which could contain anynumber of VOD video clips; however, the playlist may contain a smallnumber (a dozen or fewer) that an MSO wishes to promote. The audio trackassociated with the Main Video Window playlist is audible to thesubscriber by default

The Main Video Window element has no special highlight behavior.Selection behavior may be to display an information screen specificallyfor the VOD program that the current VOD video clip (at the time ofselection) is promoting. Alternate selection behavior may be to displaya VOD sub-menu containing all of the VOD programs promoted by VOD videoclips in the playlist. The Main Video Window element is a VOD video clipor video playlist. Changes of the Main Video Window playlist may bescheduled based on date and/or day part.

I.A.7 Main Video Window Info (CE-1)

The Main Video Window Info is a non-interactive child element (hence thedesignation “CE-1” in FIG. 3) of the Main Video Window. The Main VideoWindow Info element changes to match the current VOD video clip playingin the Main Video Window. This element is a concatenation of severalmetadata elements associated with the current VOD videoclip—specifically, a “price” metadata element, a “price info” metadataelement, a “duration” metadata element and a “rating” metadata element.The Main Video Window Info element is a text block.

I.A.8 Menu Buttons (MB-1 to MB-6)

The Menu Buttons are interactive elements that may be customized andmodified as desired by an MSO (Multiple System Operator, i.e., a companythat operates more than one cable system). In FIG. 3, MB-1 through MB-6represent the Menu Button elements. These six elements are logicallycombined into a “menu group.” A menu group may have an anchor point in acorner of a specified screen area. The menu group, as a whole, hasspecial behaviors. First, if any of the Menu Button elements isundefined (empty), it will not be displayed, and other Menu Buttonelements in the menu group should shift upward in the display asrequired.

Further, each Menu Button element can be defined to have conditionalvisibility, based on one or more system and/or session properties. Forexample, the DVR Menu Button shown in FIG. 2 (MB-4 in FIG. 3) may onlybe visible when the user's equipment has DVR capability. Otherwise, theDVR Menu Button would not be visible, and again the other Menu Buttonelements in the menu group would shift upward in the display asrequired.

Other examples of properties that might drive conditional visibility fora Menu Button element include STB support for specific interactivetelevision applications, or lack of subscriber entitlement for aspecific tunable channel. An alternate approach to conditionalvisibility of Menu Button elements might be conditional selectionbehavior. For example, the DVR Menu Button, for a subscriber without DVRcapability, may display a screen promoting DVR-enabled STBs.

Yet another example of conditional visibility of a menu button isdisplaying a menu button (or other selectable element) in response to auser highlighting an element associated with a program. In this way onlyoptions associated with the program are provided. These options may bedisplayed in, for example, a tool bar.

The Menu Button elements have no special highlight behavior. Selectionbehavior may be configurable based on MSO (Multiple System Operator—acompany that operates more than one cable system). The visible MenuButton elements could be any one of the following:

Still image (with text embedded)

Still image+text block overlay

Graphic+text block overlay

Changes of the Menu Button elements may be scheduled based on dateand/or daypart. Scheduled changes will appear in the VRN screen data forthe Home Page. The VRN screen data for the menu groups may also specifythe screen area and anchor point for the menu group.

I.A.9 Video Swatches (VS-1 to VS-4)

Video Swatches are interactive, dynamic elements that can be customizedand modified as desired by the MSO. In some embodiments, each of theVideo Swatch elements may be driven by a playlist of VOD video clips, aswith the Main Video Window element. In other embodiments, the VideoSwatch elements may represent a single theme (and hence will use asingle VOD video clip or video playlist), with consistent selectionbehavior.

Video swatches may have a number of special behaviors. First, eachdistinct Video Swatch element may have the ability to visually alternatebetween a “cover image” when not highlighted, and video content (VODvideo clip, live video source or video playlist) when highlighted. Thisis referred to herein as a “hybrid interactive element.” Second, theaudio track, for any Video Swatch element that has an associated audiotrack, becomes audible to the subscriber when the Video Swatch ishighlighted (or selected). Finally, the four Video Swatch elements arelogically combined into a “highlight group,” much like the Menu Buttonelements. However, this group definition drives the behavior of aseparate, “highlight element” described in the Video Swatch Info sectionbelow. Selection behavior for the Video Swatch elements may beconfigurable by MSO.

The Video Swatch elements may be any one of the following:

Still image

VOD video clip

Live video source

Video playlist

Still image (“cover image”) transitioning to VOD video clip, live videosource or video playlist when the Video Swatch element is highlighted(hybrid).

Changes of the Video Swatch elements/element playlists may be scheduledbased on date and/or daypart.

I.A.10 Video Swatch-Titles (CE-2 to CE-5)

The Video Swatch Titles are non-interactive child elements (hence thedesignations “CE-2” through “CE-5” in FIG. 3) of the Video Swatches(VS-1 through VS-4, respectively). The Video Swatch Title elementschange to match the current still images, VOD video clips, live videosources or video playlists displayed in their respective Video Swatchelements. The title displayed may be from a metadata element associatedwith each of the respective Video Swatch elements.

The Video Swatch Title elements are text blocks. Also note that, aspictured, the Video Swatch Title elements may contain a transparentblack “bar graphic” beneath the text block. This bar graphic could bepre-produced and embedded in a VOD video clip; however rendering of thisbar graphic for a live video source would need to be executed in realtime.

I.A.11 Video Swatch Info (HE-1)

The Video Swatch Info is a non-interactive, dynamic highlight element(hence the designation “HE-1” in FIG. 2) associated with the VideoSwatch highlight group. The Video Swatch Info element behaves much likea child element; however, it has a highlight group as its parent, versushaving a single element as its parent. If one of the Video Swatchelements is highlighted, the Video Swatch Info element changes toreflect the currently highlighted Video Swatch element. The Video SwatchInfo element also has conditional visibility. It is only visible if oneof the Video Swatch elements is highlighted. The information displayedmay be taken from a single metadata attribute that has a unique valuefor each of the Video Swatch elements. The Video Swatch Info element isa text block.

I.A.12 Audio

Audio is an implied element in FIGS. 2 and 3. All VOD video clips andlive video sources, whether shown in the Main Video Window or in a VideoSwatch, have an associated audio track. In some embodiments, Home Pagesmay identify exactly one default audio track. In the sample Home Page ofFIG. 2, the audio track associated with the Main Video Window (VW-1) isthe default audio track. However, for any Video Swatch element having anassociated audio track, if that Video Swatch is highlighted, itsassociated audio track will become audible to the user. If no VideoSwatch elements are highlighted, the default audio track will be audibleto the subscriber. If no interactive elements with an associated audiotrack are currently highlighted, the Home Page application will make thedefault audio track audible for the user. If any interactive elementhaving an associated audio track is currently highlighted, the Home Pageapplication will make the audio track associated with the highlightedinteractive element audible for the user. Audio tracks may be providedin different PIDs of a single MPEG stream, or in different MPEG streams.In some embodiments, audio may be provided as MIDI data or text that issynthesized to speech.

I.A.13 Illustrative Highlight And Selection Behavior

The Home Page application (and other VRN applications) may identifyinteractive elements to be highlighted by default when the Home Pageapplication is initially executed. If the Home Page application losesfocus but remains active, the Home Page application may retain knowledgeof the last highlighted interactive element. If, after losing focus, theHome Page application regains focus, the Home Page application mayrestore the highlight to the last highlighted interactive element. Ifthe Home Page application becomes inactive (exits), the Home Pageapplication may not retain knowledge of the currently highlightedinteractive element.

The Home Page application (or other VRN applications) may specify one ormore special highlight behaviors to be invoked when an interactiveelement is navigated to (“highlighted”). For example, when aninteractive element having an associated audio track is highlighted, theaudio track for the highlighted interactive element will be made audiblefor the subscriber. When a hybrid interactive element is highlighted,the “cover image” associated with the hybrid interactive element may bereplaced with the VOD video clip, live video source or video playlistassociated with the hybrid interactive element.

The Home Page application (or other VRN applications) may provide forthe association of a distinct group of interactive elements (a“highlight group”) with a separate “highlight element.” A highlightelement associated with the highlight group displays specific metadatafor the currently highlighted interactive element in the highlightgroup. If none of the interactive elements in a highlight group iscurrently highlighted, any highlight element associated with thehighlight group will not be displayed.

The Home Page application (or other VRN applications) may provide“conditional selection behavior” for an element based on criteriaspecified for that element in the VRN screen data. Selection behaviorfor any element having criteria for conditional selection behavior maybe determined by evaluation of the specified criteria at the time ofselection. Criteria specified for conditional selection behavior may belimited to element, session or system attributes that can be ascertainedat the time of selection.

I.A.14 Additional Illustrative Home Page Display Behaviors

The Home Page application (or other VRN applications) may support one ormore of the following additional display behaviors.

The Home Page application (or other VRN applications) may provide“conditional visibility” for an element based on criteria specified forthat element. Any element having criteria for conditional visibility mayonly be visible to the subscriber if the specified criteria are met.Criteria specified for conditional visibility may be limited to element,session or system attributes that can be ascertained while executing theHome Page application. Entire screens may have conditional visibility.For example, screens may vary based on where a VRN application wasaccessed from.

The Home Page application (or other VRN applications) may dynamicallydisplay elements based on parent-child relationships between elements. Achild element has one or more metadata attributes associated with itsrespective parent element. As a specific parent element changes, itschild elements change to reflect the metadata attribute(s) associatedwith the new parent element.

The Home Page application (or other VRN applications) may dynamicallydisplay elements based on system attributes such as the STB clock, andthe temperature.

The VRN client may mask VRN button of a Home Page (or other VRNapplications) when the VRN button is associated with a channel or sourcethat is not supported in the local channel map. The VRN client mayobtain the local channel map via an API call to another interactivetelevision application (e.g., an IPG), may receive the local channelmaps as VRN screen data or, in embodiments where the VRN client is anIPG, may receive the local channel map as IPG data. The VRN client mayalso mask a button when, for example, its functionality is not supportedon the user's equipment (e.g., the VRN client will not display a DVRbutton for a non-DVR STB). When a VRN button is masked its audio andvideo may be imperceptible to the user. The VRN screen data may providealternate display configurations for masked VRN buttons.

In some embodiments, the VRN client may display a screen saver after theHome Page (or other VRN applications) is inactive for a configurableinterval. If the VRN screen is VOD, the VRN client may simply tune theuser's equipment to the last linear channel tuned after the screen saveris provided for a period of time. If the VRN screen is broadcast, thescreen saver may not time out.

I.A.15 Home Page Element Transition Scheduling

The Home Page application (or other VRN applications) may transitionbetween multiple, distinct specifications for an element based on apre-defined schedule of specifications for that element. The schedulingmay be by, for example, date and day part or date and time. The VRNscreen data for the application may include a pre-defined schedule ofspecifications to be used for each distinct element.

The Home Page applications (or other VRN applications) may selectbetween distinct specifications for Home Page application elements atthe time of VRN application startup. In some embodiments, the VRNapplication will not transition between element specifications during asingle instance of execution.

I.B Illustrative Responses to Remote Control Keys

The number of keys supplied on remote controls that control thefunctionality of the settop box and define screen commands and responsesto user input has increased substantially. Not only do the remotecontrols operate several different components of the user equipment, butthey also activate increasingly more complex functions. Table 2 definesillustrative behavior of a remote control with 45 control keys, of whichmost are active while a Home Page application, such as the one describedherein, is active and in focus. The actual number of keys can begreater, since not all keys may be active. Some of the behaviors belowassume that the Home Page has access to IPG functions (this is describedbelow in Sections I.C and I.D).

TABLE 2 Screen # Key Focus Behavior (HPK-#) 1 Power Any The applicationturns off the STB. 2 Volume Up Any The application increases the volumelevel and updates the volume bar display to reflect the new volumelevel. 3 Volume Any The application decreases the Down volume level andupdates the volume bar display to reflect the new volume level. 4 MuteAny The application toggles the audio and the mute indicator on or off.5 Channel Up Any The application exits, the next higher channel isselected based on the channel number currently displayed on the LEDs,and the appropriate Flip banner is displayed. 6 Channel Any Theapplication exits, the Down next lower channel is selected based on thechannel number currently displayed on the LEDs, and the appropriate Flipbanner is displayed. 7 Bypass Any Inactive. 8 Menu Any The applicationloses focus and requests that the IPG display the Quick Access Menu. 9Guide Any The application loses focus and requests that the IPG displayan IPG Grid Listings screen, beginning with the current ½ hour block,and with the lowest channel in the channel map. 10 Music Any Theapplication loses focus and requests that the IPG display a ChannelListing screen, filtered to include “audio” channels only. 11 Themes AnyThe application loses focus and requests that the IPG display the SearchMenu screen. 12 Search Any The application loses focus and requests thatthe IPG display the Search Menu screen. 13 Settings Any The applicationloses focus and requests that the IPG display the Setup Menu screen. 14Exit Any The application exits and requests that the IPG tune to thelast tuned channel. 15 Last Any The application exits and requests thatthe IPG tune to the last tuned channel. In some embodiments, pressingthe last key navigates in reverse through all of the pages selected inthe view application. Once the first page is reached, the next pressingof the last button will return the user to the last tuned channel. TheVRN application may remember, for example, 20 pages. When the userreaches a VRN application page from another interactive televisionapplication using the last key, no previous navigation is remembered anda default page is displayed with a default highlight. The VRNapplication will not remember any previous navigation. 16 Right Any Theright arrow key moves the Arrow highlight to the nearest interactiveelement to the right. (Note: Navigation between interactive elements isexplicitly defined for each distinct Home Page application template). 17Left Arrow Any The left arrow key moves the highlight to the nearestinteractive element to the left. 18 Up Arrow Any The up arrow key movesthe highlight to the nearest interactive element above the currenthighlight. 19 Down Arrow Any The down arrow key moves the highlight tothe nearest interactive element below the current highlight. 20 OK AnyThe application executes the selection behavior as defined for thecurrently highlighted interactive element. 21 Digits 0-9 Any Theapplication exits and requests that the IPG tune to the channelindicated by the digit entry and display the appropriate Flip banner. 22Scroll Up Any Inactive. 23 Scroll Any Inactive. Down 24 Day AnyInactive. Forward 25 Day Back Any Inactive. 26 Help Any Inactive. 27Info Any Inactive. 28 Favorite Any The application exits and normalbehavior for pressing the Favorite key while tuned to a channel isinvoked. 29 Lock Any The application loses focus and requests that theIPG invoke the lock process for the Home Page channel. 30 Record AnyInactive. 31 Stop Any Inactive. 32 Pause Any Inactive. 33 Play AnyInactive. 34 Rewind Any Inactive. 35 Fast Any Inactive. Forward 36 PPVAny The application loses focus and requests that the IPG display aListings By Time and Channel screen, filtered to display PPV programsonly. 37 Letters A-Z Any Inactive. 38 VOD Any The application exits andrequest that the IPG display the VOD Main Menu. 39 Return to AnyInactive. Live 40 Skip Any Inactive. Forward 41 Replay Any Inactive. 42A Any Inactive. 43 B Any Inactive. 44 C Any Inactive. 45 Digital Any Theapplication loses focus Recordings and requests that the IPG display theIPG Digital Recordings Listings screen.

In addition to illustrative behaviors described above, the Home Pageapplication (or other VRN application) may support configurable buttons.For example, on-screen and physical buttons (i.e., remote control or STBbuttons) may have various behaviors specified by the VRN screen data. Insome embodiments, highlight behavior may be configurable. For example,moving a cursor over an on-screen button can trigger a behavior such asinstant info text. In some embodiments, selection behavior may beconfigurable (e.g., whether a button launches a particular screen). Insome embodiments, exception behavior may be configurable.

I.C Illustrative IPG Functions Called By A Home Page Application

In some embodiments, an IPG may reside on user equipment 30 (FIG. 1) andprovide an API to the Home Page application so that the Home Pageapplication may access IPG functions (whether or not the IPG is a VRNclient). The Home Page application may request that the IPG perform anyof the following actions in response to user input:

Tune to a specified source channel (specified by, e.g., source ID orchannel call letters).

Tune to the last source that was tuned prior to the Home Page channel.When a user tries to tune to a channel (other than a Home Page channel),the Home Page application may exit.

Play a specified VOD video clip (specified by, e.g. provider ID and/orasset ID).

Display an information screen for a specified VOD asset (specified by,e.g. provider ID and/or asset ID).

Display a VOD Main Menu screen.

Display a specified VOD Sub-Menu screen.

Launch a specified VRN application other than the IPG. Upon launchingthe other application, the Home Page application may exit.

Display an IPG Grid Listings screen, beginning with the current halfhour, and with the lowest channel number in the channel map.

Display an IPG Grid Listings screen, with channels filtered by anyservice attribute supported in IPG filter strings.

Display an IPG Listings by Time and Channel screen, beginning with thecurrent half hour, and with the lowest channel number in the channelmap.

Display an IPG Listings by Time and Channel screen, with programsfiltered by any service, schedule or program attribute supported in IPGfilter strings.

Display an IPG Listings by Channel and Time screen, beginning with thelowest channel number in the channel map, and with the current halfhour.

Display an IPG Listings by Channel and Time screen, with programsfiltered by any service, schedule or program attribute currentlysupported in IPG filter strings.

Display an IPG Listings by Title screen.

Display an IPG Listings by Title screen, with programs filtered by anyservice, schedule or program attribute currently supported in IPG filterstrings.

Display an IPG Channel Listings screen.

Display an IPG Channel Listings screen, with channels filtered by anyservice attribute currently supported in IPG filter strings.

Display an IPG Mini Guide overlay, beginning with the current half hour,and with the lowest channel number in the channel map.

-   -   Display an IPG Main Menu screen.

Display an IPG Search Menu screen.

Display an IPG Setup Menu screen.

Display an IPG Message Center screen.

Display an IPG TV Timers screen.

Display an IPG Weather screen.

Display an IPG Digital Recordings Listings screen.

Display other IPG screens as defined by an MSO.

Customize the VRN application based on IPG settings.

I.D Illustrative IPG Behavior for Providing Home Page Access

In some embodiments, an IPG implemented on user equipment 30 (FIG. 1)may provide access to a VRN Home Page or other VRN applications, such aswhen the IPG is the VRN client. This section describes illustrativebehavior for an IPG in such embodiments. The Home Page channel may beincluded as a STET source in the IPG. STET sources are sources that havea single, generic program title and description. As with other sources,the IPG may tune to a Home Page channel. For example, the IPG mayautomatically tune to the Home Page application when the STB is poweredon. The IPG may also make the Home Page channel accessible to the enduser through the following access points:

Direct tuning to Home Page channel. If the channel is not authorized theHome Page may not be launched.

Interactive selection of the Home Page channel in any IPG channellisting, grid or mini-guide display. The IPG may not launch the HomePage if the Home Page is tuned in a Scaled Video Window.

Access from a “Home Page” button in the IPG Main Menu.

Access from a “Home Page” button in the IPG Quick Access Menu (QAM).

Tuning to Home Page channel via the “last” button on the remote control.

If the IPG automatically powers on the STB to execute a TV timerscheduled event (such as a recording), however, the IPG will not tune tothe Home Page channel. If the IPG automatically tunes to the Home Pagechannel when the STB is powered on, whatever channel was tuned when theSTB was last powered off may be accessed by the user from a “last”button on the remote control.

If the STB has dual tuners, the IPG will use Tuner 1 to automaticallytune to the Home Page channel. If the IPG uses Tuner 1 to automaticallytune to the Home Page channel, then whatever channel was tuned on Tuner1 when the STB was last powered off may be accessed by the user from the“last” button on the remote control.

If a parental control lock has been placed on the Home Page channel, theIPG will display the parental control PIN entry overlay whenever a tuneto the Home Page channel is attempted, instead of tuning directly to theHome Page channel. The IPG will only tune to the Home Page channel ifthe correct parental control PIN is entered.

When a user tunes to the Home Page channel, the IPG will not display theIPG Flip Bar overlay. If the Home Page application is active but the IPGhas the current focus, the IPG will cause the Home Page application toexit in response to a user invoking a tune to any channel other than theHome Page channel, or in response to a user invoking the execution ofanother interactive television application.

If the Home Page application is active but the IPG has the currentfocus, the IPG will exit and cause the Home Page application to regainfocus in response to a user invoking a tune to the Home Page channel,the user selecting a menu button representing the Home Page application,or the user pressing the “exit” key on the remote control device whilestill tuned to the Home Page channel.

When a broadcast channel is in the VRN state, the IPG may disable DVRtrick play functionality with the exception of the stop command. If aVOD asset is in a VRN state, the IPG may disable VOD trick playfunctionality with the exception of the stop command.

II. VRN Templates

VRN templates are VRN definitional documents (or their binaryequivalents) that define the look and behavior of VRN screens. Theexemplary wire frame depicted in FIG. 3 may be defined by a template.Templates may define, for example, the location (x, y and z axis),appearance, size and shape of selectable items such as menu buttons, VRNbuttons, or other static or dynamic selectable graphic elements, FIGS. 2and 3. VRN templates may also define instant information areas and mayassociate such areas with selectable elements.

VRN templates may also specify the navigation between selectableelements. Templates may, for example, define a default navigationbehavior. This default navigation behavior may be overridden by VRNscreen data received by the VRN client. This may occur only forparticular keys, such as OK, Up Arrow, Down Arrow, Left Arrow, RightArrow, scroll up and scroll down, as will be described below. Templatesmay, for example, define one selectable element as the default highlightposition.

When there are VRN buttons in a VRN screen, a template may identify oneof the buttons as the default audio source. When there are no VRNbuttons the default audio is the default audio of a broadcast source,e.g., a channel from which a user accessed the VRN application, or adefault audio channel. This will override any other default audiosettings on the user equipment, e.g., default audio set in an IPG setupfeature.

VRN templates may also define the location (x, y and z axis),appearance, size and shape of non-selectable elements, such asbackgrounds, MSO logos, time elements, message center elements, or anyother non-selectable elements, e.g., those described above in connectionwith the illustrative Home Page of FIGS. 2 and 3.

Templates include placeholders for visual elements of VRN screens. Theseplaceholders are populated by a VRN client based on control data for thevisual elements contained in the VRN screen data. The visual elementsthemselves may be included in the VRN screen data, pre-stored on theuser equipment, or obtained on-demand by the VRN client.

VRN templates are received by the VRN client using any suitableapproach. For example, they may be periodically transmitted in the VRNdata feed. In other approaches, the VRN client may download templates ondemand from a server at distribution facility 20 (such as when anunknown template is defined in the VRN screen data). In some approaches,the templates may be embedded as part of the VRN client. When the VRNclient is an IPG, the templates may be provided as IPG data. VRN screendata identifies the applicable template for the VRN client using anidentifier. The VRN client detects that identifier and, after retrievingthe relevant template from memory, acquires the VRN screen data requiredto render all of the selectable and non-selectable items specified inthe template. The VRN client resolves the placeholders of the templatewith the asset (content) identifiers in the VRN screen data, andretrieves the actual visual elements. The actual visual elements may beprovided as part of the VRN data, or as part of data for anotherapplication on user equipment 30 (FIG. 1) such as an IPG. Some visualelements may be included as part of the video content, and may be shownor blocked as indicated by the VRN screen data.

Rendering a VRN screen requires having all of the data to populate thetemplate. In some embodiments, the VRN client may not make the video andaudio for the VRN screen available until sufficient VRN screen data hasbeen acquired to render a complete VRN screen. If sufficient VRN dataare not received before a timeout value (e.g., 30 seconds) expires, theVRN client may display a “feature not available” overlay. When the VRNclient is an IPG, for example, the VRN channel may be displayed once theIPG database acquires local configuration data identifying the VRNchannel. In embodiments where the VRN screen data is provided in a VODstream, the VRN client may make the VRN screen visible to the userwithout imposing any delay due to insufficiency of VRN screen data. WhenVRN data disappears (or is not validated within a timeout period), theVRN client may block audio and video.

In some embodiments, channels and VOD streams are VRN enabled onlypart-time. In such embodiments, the VRN client may dynamically enableand disable the VRN application based on the presence or absence ofvalid VRN screen data. When the VRN application is disabled, audio andvideo for a channel is provided as it normally would by the userequipment.

III. Additional VRN Screens

A number of additional exemplary VRN screens which can be displayedindependent of the Home Page or can be accessed from the Home Page willnow be described with reference to FIGS. 4-17. These illustrativescreens and associated wire frames are described herein as defined bytemplates, but such VRN screens may, in other embodiments, be providedwithout using templates. Furthermore, these illustrative VRN screens ofFIGS. 4-17 are described below as provided by an IPG VRN client. Inother embodiments, other VRN clients may be used.

The illustrative templates for each screen/wire frame group of FIGS.4-17 are briefly described below using a series of tables. These tablesinclude for each of the illustrative templates a wire frame referencetable that identifies the various VRN elements of the VRN screen definedby that particular template. Also presented for the template depicted inFIGS. 4 and 5 is a general description table that describes the look andfeel of a VRN screen defined by that template. An input key processingtable lists the functionality of the remote control keys for defaultnavigation as defined by a template wherein only those functions thatare in addition to or different from the functions of the key assignmentfor the homepage described earlier are discussed. A full list of thefunctions for the illustrated exemplary templates and associated wireframes as well as additional tables, such as a highlight/customizationtable that describes default highlight and customization information fora VRN screen as defined in a template, and a screen formatting tablethat describes how a screen may be formatted as defined by a template,are described in detail in provisional application Ser. No. 60/667,200,filed Mar. 30, 2005, the contents of which is incorporated herein byreference in its entirety.

III.A Template 01—Illustrative Home Page Template (FIGS. 4-5)

TABLE 3 VRN Template 01 Wireframe Reference Table Field numberDescription 100  MSO Logo 103  Time Display 104  Message Indicator 1 to7 Menu Buttons 1-7  8 Instant Information  9 Main Video Window 10 MainVideo Window Info Text Bar 11 Thumbnail video 1   11a Thumbnail video 1Window info Text Bar 12 Thumbnail video 2   12a Thumbnail video 2 Windowinfo Text Bar 13 Thumbnail video 3   13a Thumbnail video 3 Window infoText Bar

The exemplary VRN Template 01 of FIGS. 4 and 5 includes a set ofselectable menu buttons (identified as field numbers “1” to “7” in thewire frame), which may be contiguous. i.e., which are separated only bya minimal blank space. One main VRN button identified as field number“9” serves as the Main Video Window. The area defined by field number“10” can display any button label text configured for the Main VideoWindow. If a menu button or the Main Video Window Text field ishighlighted, instant information configured for the menu button may bedisplayed in the area defined by field number “8”.

Three VRN buttons identified as field numbers “11”, “12”, and “13” serveas thumbnail videos, with associated button label text displayed in therespective label areas defined by as text field numbers “11a”, “12a”,and “13a”. If a thumbnail video is highlighted, instant informationconfigured for the thumbnail video is displayed in the area defined byfield number “8”.

Other elements included in the VRN Template 01 of FIGS. 4 and 5 are anon-selectable MSO logo element 100, a non-selectable time element“103”, and a non-selectable Message Indicator element “104”.

The Main Video Window has an associated audio PID, which is the defaultaudio PID for VRN Template 01. Each of the presentations in thethumbnail videos may have an associated audio PID.

Table 4 shows certain enhanced features of the Input Key Processing whenVRN Template 01 is displayed. These various Input Key Processingfeatures are active in addition to most of the features described abovein Table 2 with reference to the Home Page.

TABLE 4 VRN Template 01 Input Key Processing Enhanced Features ScreenNo. Key Focus Behavior 16.0 Right Any menu The Guide shall highlight theMain Arrow button 1-6 Video Window text bar (10). 16.1 Right Menu buttonThe Guide shall highlight the Arrow 7 first thumbnail video window infotext bar (11a) 16.2 Right Main Video The Guide shall highlight the lastArrow Window Text menu button highlighted. Bar (10) 16.3 Right Any TheGuide shall highlight the next Arrow thumbnail thumbnail video to theright. video window text bar (11a & 12a) except far right 16.4 Right Farright The Guide shall highlight the far Arrow thumbnail left thumbnailvideo window info video text bar (11a). window info text bar (13a) 17.0Left Any menu The Guide shall highlight the Main Arrow button 1-6 VideoWindow Text Bar (10). 17.1 Left Menu Button 7 The Guide shall highlightthe far Arrow right thumbnail video window text bar (13a). 17.2 LeftMain Video The Guide shall highlight the last Arrow Window Text menubutton highlighted. Bar (10) 17.3 Left Any The Guide shall highlight thenext Arrow thumbnail thumbnail video window info text video (12a bar tothe left. & 13a) except far left 17.4 Left Far left The Guide shallhighlight the far Arrow thumbnail right thumbnail video window infovideo text bar (13a). window info text bar (11a). 18.0 Up Arrow Any menuThe Guide shall highlight the next button higher menu button. except top18.1 Up Arrow Top menu The Guide shall highlight the button bottom menubutton. 18.2 Up Arrow Main Video The Guide shall highlight the lastWindow Text thumbnail video selected or the Bar (10) far left thumbnailvideo window info text bar (11a). 18.3 Up Arrow Any The Guide shallhighlight the Main thumbnail Video Window Text Bar (10). video 19.0 DownAny menu The Guide shall highlight the next Arrow button lower menubutton. except bottom 19.1 Down Bottom menu The Guide shall highlightthe top Arrow button menu button. 19.2 Down Main Video The Guide shallhighlight the last Arrow Window Text thumbnail video highlighted, or Bar(10) the leftmost thumbnail video window info text bar (11a). 19.3 DownAny The Guide shall highlight the Main Arrow thumbnail Video Window TextBar (10). video

The functions of the other keys for the VRN Template 01 of FIGS. 4 and5, as well as Highlight/Customization and Screen Formatting, arediscussed in more detail in the provisional application Ser. No.60/667,200.

As seen from Table 4, functionality has been added to at least the arrowkeys on the remote control, with the operation performed by the keysdepending on the particular video window or text bar of the screenfocus. The added functionality is specific for a template and can bedynamically assigned, for example, by the screen data or control data,which will be described in detail below.

III.B Template 02—Illustrative News, Sports and Kids Screen Template(FIGS. 6-9)

TABLE 5 VRN Template 02 Wireframe Reference Table Field numberDescription 100  MSO Logo 103  Time Display 104  Message Indicator 1 to7 Menu Buttons 1-7  8 Instant Information  9 Thumbnail video window 1   9a Thumbnail 1 video window info Text Bar 10 Thumbnail video window 2  10a Thumbnail 2 video window info Text Bar 11 Thumbnail video window 3  11a Thumbnail 3 video window info Text Bar 12 Thumbnail video window 4  12a Thumbnail 4 video window info Text Bar

The exemplary VRN Template 02 of FIGS. 6 to 9 includes a set ofselectable menu buttons (identified as field numbers “1” to “7” in thewire frame of FIG. 9), which may be contiguous. i.e., which areseparated by a minimal blank space. If a menu button is highlighted,instant information configured for the menu button will be displayed inthe area defined by field number “8”. Up to four VRN buttons “9”, “10”,“11”, and “12” can serve as thumbnail videos. If a thumbnail videowindow text bar is highlighted, instant information configured for thethumbnail video may be displayed in the area defined by field number“8”.

Other elements included in the VRN Template 02 of FIGS. 6 to 9 are anMSO logo element 100, a non-selectable time element “103”, and anon-selectable Message Indicator element “104”.

All four thumbnail video windows have an associated audio PID, whereinthe audio PID associated with the upper left most video window “9” isthe default audio PID for VRN Template 02.

Table 6 shows certain enhanced features of the Input Key Processing whenVRN Template 02 is displayed. Note that some of these enhanced featuresare different from those for Template 01 to emphasize that theassignment of the input keys is template-specific.

TABLE 6 VRN Template 02 Input Key Processing Enhanced Features ScreenNo. Key Focus Behavior 16.0 Right Any menu The Guide shall highlight theArrow button 1-5 upper left most thumbnail video window text bar (9a).16.1 Right Menu button The Guide shall highlight the Arrow 6 & 7 lowerleft most thumbnail video window text bar (11a) 16.2 Right Thumbnail TheGuide shall highlight the next Arrow video thumbnail video window textbar to window text the right. bars (9a & 11a) 16.3 Right Far right TheGuide shall highlight the last Arrow thumbnail selected Menu Button.video windows text bars (10a & 12a) 17.0 Left Any menu The Guide shallhighlight the Arrow button 1-5 upper right most thumbnail video windowtext bar (10a). 17.1 Left Menu button The Guide shall highlight theArrow 6 & 7 lower left most thumbnail video window text bar (12a) 17.2Left Thumbnail The Guide shall highlight the next Arrow video thumbnailvideo text bar to the window text left. bars (10a & 12a) 17.3 Left Farleft The Guide shall highlight the last Arrow thumbnail selected MenuButton. video window text bars (9a & 11a) 18.0 Up Arrow Any menu TheGuide shall highlight the next button higher menu button. except top18.1 Up Arrow Top menu The Guide shall highlight the button bottom menubutton. 18.2 Up Arrow Thumbnail The Guide shall highlight the videoThumbnail Video Window Text Bars window text on the bottom row in thebars 9a & corresponding columns (11a & 12a). 10a 18.3 Up Arrow ThumbnailThe Guide shall highlight the video Thumbnail Video Window Text Barswindow text on the top row in the bars 11a & corresponding columns (9a &10a). 12a 19.0 Down Any menu The Guide shall highlight the next Arrowbutton lower menu button. except bottom 19.1 Down Bottom menu The Guideshall highlight the top Arrow button menu button. 19.2 Down ThumbnailThe Guide shall highlight the Arrow video Thumbnail Video Window TextBars window text on the top row in the bars 11a & corresponding columns(9a & 10a). 12a 19.3 Down Thumbnail The Guide shall highlight the Arrowvideo Thumbnail Video Window Text Bars window text on the bottom row inthe bars 9a & corresponding columns (11a & 12a). 10a

For a discussion of the other keys for the VRN Template 02 of FIGS. 6 to9, as well as Highlight/Customization and Screen Formatting, referenceis again made to the provisional application Ser. No. 60/667,200.

Additional exemplary Templates 03 through 06 and corresponding wireframes are illustrated in FIGS. 10 through 17. Tables 7 to 10 describethe various screen elements on the VRN pages. For a discussion of theother keys for the VRN Templates 03 through 06 of FIGS. 10 to 17, aswell as Highlight/Customization and Screen Formatting, reference isagain made to the provisional application Ser. No. 60/667,200.

III.C Template 03—Illustrative News, Sports, Kids Screen Template (FIGS.10-11)

TABLE 7 VRN Template 03 Wireframe Reference Table Field numberDescription 100  MSO Logo 103  Time Display 104  Message Indicator 1 to7 Menu Buttons 1-7  8 Instant Information  9 Thumbnail video window 1   9a Thumbnail 1 video window info Text Bar 10 Thumbnail video window 2  10a Thumbnail 2 video window info Text Bar 11 Thumbnail video window 3  11a Thumbnail 3 video window info Text Bar 12 Thumbnail video window 4  12a Thumbnail 4 video window info Text Bar 13 Thumbnail video window 5  13a Thumbnail 5 video window info Text Bar 14 Thumbnail video window 6  14a Thumbnail 6 video window info Text Bar 15 Sports Score Title 1 17Sports Score Field 1 16 Sports Score Title 2 18 Sports Score Field 2

III.D Template 04—Illustrative VOD Template (FIGS. 12-13)

TABLE 8 VRN Template 04 Wireframe Reference Table Field numberDescription 100  MSO Logo. 1 to 2 Menu Buttons 1-2 3 Instant InformationTitle 4 Instant Information Text Field 1 5 Instant Information TextField 2 6 Text info field 1 7 Text info field 2 8-19 Jacket Art VRNButtons 8-19

III.E Template 05—Illustrative Main Menu Screen with Advertising BannerTemplate (FIGS. 14-15)

TABLE 9 VRN Template 05 Wireframe Reference Table Field numberDescription 100 MSO Logo 103 Time Display 104 Message Indicator 1 to 7Menu Buttons 1-7 8 Instant Information 9 Main Video Window 10Advertising Banner

III.F Template 06—Illustrative Main Menu Screen with Instant InformationTemplate (FIGS. 16-17)

TABLE 10 VRN Template 06 Wireframe Reference Table Field numberDescription 100  MSO Logo 103  Time Display 104  Message Indicator 1 to7 Menu Buttons 1-7  8 Instant Information  9 Main Video Window    9aMain Video Window Info Text Bar 10 Display Window 1 11 Display WindowInfo Text Bar 1 12 Display Window 2 13 Display Window Info Text Bar 2

As mentioned above, the VRN screens may or may not be defined by atemplate. However, as the VRN screens depicted in FIGS. 2 through 17demonstrate, arranging the elements on VRN screens with templatesrepresents an elegant way of displaying the video assets and data and toenhance navigation between different assets while reducing the amount ofdata required to define each VRN page.

Templates represented, for example, by the aforedescribed wire framescan be transmitted from the network operator, service provider, headendor from any other suitable source, such as the Internet, to the userequipment, such as the settop box, and stored locally. A template can bedefined by a unique template ID. Templates typically define thearrangement of the various cells and windows on the VRN screen, but bythemselves may not include the actual content.

When the VRN client launches a VRN application, it acquires a VRN datastream in addition to the video stream and displays the VRN Channel orprogram in accordance with the definitions provided in the VRN datastream. The data streams may be transmitted separately out-of-band, orin-band with a VRN channel. Digital in-band data may be carried on a PIDseparate from the video and audio PIDs. If carried out-of-band, thisdata may be stored locally by the user equipment 30 (see FIG. 1). Ifcarried in-band, it may be retrieved as needed, but may be cycled at arate sufficient to display the VRN screen in a reasonable time when theVRN channel is tuned. For example, new data may be cycled at least onceper second, and as fast as twice per second. This rate may, in someembodiments, be sufficient for response to channel acquisition, recoveryfrom menu display, recovery from trick mode, recovery from transportproblems, and other issues. In some embodiments, VRN data is cycled atleast once every thirty seconds for full-time VRN channels, and at leastonce every fifteen seconds for part-time VRN channels, to avoidtimeouts. In some embodiments, the VRN screen data is carried in theMotorola DC-II text format.

While the VRN application is active and in focus (whether or not theapplication has been disabled due to absence or invalidity of data), theVRN client may continuously monitor the VRN screen data. When the VRNclient detects a change to the VRN screen data while the VRN applicationis active and in focus, the VRN client will immediately update the VRNdisplay. If after a change in the VRN screen data the currentlyhighlighted object is still present and enabled for selection, it willremain highlighted. If after a change in the VRN screen data thecurrently highlighted object is not present or not enabled for selectionor if a template has changed, the VRN client may revert to the defaulthighlight specified in the new definition.

Definitional documents for the VRN application, such as the templates,can be defined in XML format using a schema language, for example, RELAXNG (www.relaxng.org). This schema language does not change theinformation set of an XML document, supports XML namespaces, treatsattributes uniformly with elements, and has unrestricted support forunordered or mixed content.

IV. Control Data and Chunks

In some embodiments, the definition of a VRN application, including thetemplates for displaying the content described above, the source(s)providing the content, functionality of the key on the remote controldescribed above, and other features of a VRN application, may besupplied in the data streams as control data. In some embodiments,control data may be divided into small sections, hereinafter referred toas “VRN chunks”. A VRN chunk can be in form of a single DC-II Textmessage and advantageously is, in some embodiments, no more than 1000bytes in length and contains an even number of bytes. The definition ofeach VRN screen and each individual resource referenced by a VRN screenmay be defined in a single VRN chunk, in more than one chunk, orportions of the definition may be included across several chunks.Transmission of control data with a suitable syntax to the userequipment allow comprehensive management of displayed content and userfunctionality from a headend or central location and conservestransmission bandwidth.

The features and operation of a VRN chunk are best described withreference to FIG. 18 which shows the structure of an exemplary VRNchunk. Further details of the various fields of two exemplary VRN chunksare described in Appendix A and C, respectively, of the provisionalpatent application Ser. No. 60/667,200.

The chunk in FIG. 18 includes a number of fixed-length binary fields anda number of variable-length binary fields. The length of the sum of allbinary fields preferably does not exceed 1000 bytes, but mayconceptually have an arbitrary length. The length is not fixed and isspecified in the second field. The first 32 bits are synchronizationbits aiding in the parsing of control data consisting of multiplechunks. Following the protocol version, there are three fieldsspecifying the VRN chunk type (master/supplemental), a chunk ID that isunique within a VRN channel, and the chunk version, so that the userequipment always executes the most recent version. One chunk within thecontrol data for a particular VRN channel will be labeled with a masterchunk type, and all others will be labeled as supplemental chunks.

For the master chunk, the next several fields define overallcharacteristics of the VRN page. This includes the identifier for thetemplate definition file, the associated color palette to use for thepage, and the number of supplemental chunks in addition to the masterchunk. The definition of the VRN channel is not considered to becomplete until the master chunk and all the required supplemental chunkshave been received and stored.

The next set of fields define the actions for specific remote controlkeys for the particular VRN page that override the default set of keyactions. This includes a count of the number of key action overrides.For each key to be overridden, the master chunk includes the key code,the type of action to be taken when the key is pressed, and any specificdetails required for the specified action, as described above in thetables for the template keys assignments. A key that is not defined inthe key code will be ignored or take some other default action while theVRN page is active.

The next two fields are present only for supplemental chunks and definethe master chunk ID on the particular VRN channel or VRN VOD program aswell as the master chunk version. The next field defines the number ofobjects (i.e., screen elements). This is the number of objects definedin all chunks for a master chunk, and the number of objects in theparticular chunk for each supplemental chunk. Following the number ofobject is the object directory, the list of object IDs and locations.Each object on the VRN page is assigned a unique object ID. Forsupplemental chunks, only objects defined internally to the chunk areincluded in the object directory. For master chunks, all objects definedin all supplemental chunks (external objects) are included along withthe internal objects. For each object in the object directory, thelocation is included. The object location is indicated as a chunk ID ifthe object is external, or as an offset if the object is internal. Theoffset represents the number of bytes from the start of the chunk to thestart of the object definition. The object definitions follow the objectdirectory.

An object in the context of the exemplary chunk structure indicates, forexample, a selectable video window, a menu button, selectable ornon-selectable text, or fixed items such as logos and time indicators.Each object may include definition of audio properties, language, aswell as certain enabled key actions on the remote control. Objects canalso include software filters which provide the ability to customizedata based on language, terminal characteristics, DVR and VODfunctionality, third party applications, and the like. More details canbe found in the U.S. provisional application 60/667,200, in particularAppendix B (which describes a slightly different embodiment of a VRNchunk), Appendix C and Appendix E, which describes various softwarefilters. The VRN chunk is terminated with a checksum field.

For example, there may be one VRN chunk for each VRN channel definition,plus one or more VRN chunks for global resources (e.g., strings andgraphics, as well as screen elements). Each chunk may have a directoryof global resources. It should be noted that VRN chunks may be easilyreplaced and updated without forcing a change to the applicationdefinition itself.

As an example, an VRN application with three interactive channels mightinclude the following chunks:

Three VRN chunks, one defining each of the three interactive channels.These might be sent from a central location.

One VRN chunk, sent from the central location, to define the globalresources of the VRN application.

A replacement for the global resources chunk at each headend in whichthe application is to use different strings, graphics, etc.

A time-dependent VRN chunk containing resources that change over a shortperiod of time, such as strings describing a video clip that is beingplayed on an interactive channel.

Each chunk, defined by a Chunk Number field for example, may define aunique set of objects and attributes of the currently-tuned VRN channel.These are described in more detail with reference to FIGS. 18A and 18B.A change to the content of a chunk (i.e., the change in the definitionof one or more of the objects defined in the chunk) will cause a newversion of the chunk to be trafficked, with an updated Chunk Versionfield. The VRN client may ignore any received chunk in which the ChunkNumber and Chunk Version match those of a chunk that has already beensuccessfully received and stored. The VRN client may replace thecurrently stored version of any chunk that is received when the ChunkNumber of a received block matches that of a stored block, but the ChunkVersion fields are different. When the channel is changed on the settopbox (or a VOD program ends), stored VRN data may not be retained.

In some embodiments, the maximum number of chunks per VRN channel may befour. However, there may be more or less than four chunks. One may beconsidered to be the “master” chunk. All others are “supplemental”chunks. In some embodiments, the supplemental chunks will include datafor objects that change frequently, while the master chunk will includedata that does not change as often. Another usage model may be to carryglobal information in the master chunk and localized information in asupplemental chunk. One or more supplemental chunks may be replaced atthe headend or central location to add/remove content and/or featureswithout making changes to other supplemental chunks or the masterchunks, except for updating the number of chunks.

If there are multiple chunks, the chunk versions of each may be managedindependently. For any specific version of a master chunk, there may bemany versions of the corresponding supplemental chunks. Only one versionof any chunk may be trafficked and effective at any given time. Receiptof a new version of a master chunk will cause the VRN client to discardand reacquire any stored supplemental chunks. Receipt of a new versionof a supplemental chunk will not cause the IPG to reacquire the masterchunk, unless the newly acquired chunk indicates that it is notcompatible with the old master chunk ID and version.

Referring now to FIG. 19, a slightly different VRN chunk definitionillustrates how a VRN application is defined from data combined acrossmultiple data streams or multiple records from a single data stream.Only the first twelve fields are shown, as many of the features definedby the other fields are similar to those described with reference to theVRN chunk of FIG. 18.

In this example, when determining which chunks to accept and store fromthe VRN screen feed, the VRN client application may examine thefollowing fields:

Application ID. All VRN chunks associated with a given VRN applicationwill have the same ID, and this is not expected to change as theapplication is revised.

Application Version. All VRN chunks associated with an application willhave the same application version number. A change in this field willcause the client to discard all stored chunks with earlier versionnumbers. This may change when, for example, a change in thedesign/layout of the application occurs. Changes in resources such asstrings and graphics change will be marked in the Chunk Version field.The VRN client will look for any changes to the version number, not justincrementing.

VRN Chunk Number. Each chunk of an application is given a unique number.When a chunk is updated the new chunk should retain the same chunknumber. When a global version of a chunk is replaced with a more localversion, the same chunk number should be used. Chunk numbers do not haveto be consecutive, and the VRN client is only expected to store enoughchunks to correctly display the portion of the VRN applicationassociated with the currently tuned data stream. The VRN client shouldstore at most one chunk having the same combination of application IDand chunk number.

Chunk Scope. This field specifies how “global” the contents of the chunkare. A higher number implies a more local scope. For example, this fieldmight contain a “0” if the chunk is the global version, a “4” if thechunk is intended for an entire MSO, an “8” if the chunk has beenlocalized for a particular cable system, and a “10” if the chunk hasbeen localized for a particular headend. It is preferred that the scopeis set by the distribution equipment, so that the VRN client does notreceive multiple versions of the same chunk with the same scope.

Chunk Version. This number should be changed whenever a change is madeto any of the data within the chunk. When the client detects a changedchunk version, it should discard the previous version and replace itwith the new one. Note that a chunk can be revised without causing anyother chunks in the VRN application to be modified or recollected.

Chunk Activation Time and Deactivation Time. Multiple variations of thesame chunk with the same chunk number, scope and version may beavailable as long as they do not have overlapping activation anddeactivation time. In some embodiments, the distribution equipment doesnot traffic any chunks that are not currently active.

The VRN client uses different types of resources to render the userinterface for a VRN application. Objects for such resources may beinstantiated by the VRN application, and the accessibility of suchobjects may be defined within chunks. For example, resource objects mayinclude:

Strings (which may include multi-lingual translations)

Graphics, such as GIFs and MDEs (which may also be available inmulti-lingual versions).

Software Filters (a software filter string which is to be passed to andevaluated by the VRN client, such as an IPG.) A software filter is anexpression that includes one or more conditions which can be checked bythe local VRN client, and which evaluates to true or false. The softwarefilter is used to allow portions of the VRN definition to be conditionalbased on local conditions.

VRN Client Action, such as Guide Action (maps to the program guide'scustom menu button)

Database Lookup (returns data from an interactive television applicationdatabase such as a guide database).

User Input (allows collection of numeric strings, passwords, andmulti-choice selections)

Resource objects may be either local or global. Local resources may beonly accessible within the chunk in which they are defined. Globalresources may be accessed from any chunk in the VRN application.

Each resource object has an Object ID. Local resource objects may haveObject IDs less than 32768. Within each chunk, the local Object IDs willstart at 1 and be assigned sequentially. Global Object IDs may be in therange, for example, 32768-65535. They must be unique across all chunksin the application, and do not need to be sequential.

In some embodiments, chunks may contain two object directories. Thefirst is a directory of all local objects defined/used in the chunk. Thesecond is a directory of all global objects defined in the chunk. Eachdirectory entry defines the offset within the chunk at which to find thedetailed definition of the object.

When a VRN screen makes a reference to a local object, the client willonly look in the same chunk in which the page itself is defined. When aVRN screen makes a reference to a global object, a search through allcurrent chunks for the VRN application must be performed. This searchmust give preference to the more local chunks. For example, if an VRNscreen in chunk 1 refers to object number 0x8002, and there is adefinition for object 0x8002 in both chunk 1 and chunk 4, the chunkscope of each must be checked. If the chunk scope of chunk 4 is higher(more local), its definition of the object will be given preference.

As indicated in FIG. 18, each chunk contains multiple objectdefinitions. Referring now to FIG. 18A, the object definitions include anumber of fixed-length binary fields and a number of variable-lengthbinary fields. The first 16 bits define the object age, whichcorresponds to the number of previous versions of this chunk in whichthis same definition of this object has been present. In general,assuming chunk versions are incremented with each change, this value iscalculated as the current chunk_version minus the chunk_version in whichthis object definition was last modified, in twos complement arithmetic.The maximum value is 32767. This field is followed, except for a padbit, by the object ID matching the entry in an object directory and bythe object length defining the size of the object. The value in thefollowing field is used to skip over, without parsing, any supplementaldata for this object that is not supported by the version of the VRNclient.

The “flags” field is used to prompt the VRN client to check at apredetermined interval for changes to the object, such as parentalcontrol. The next field provides the number of variations defined forthe present object. All subsequent fields are repeated for each definedvariation. The conditions under which each variation is to be used aredefined by its software filter. If no software filter is specified, anull software filter is used. Software filters allow customization ofdata based on language, terminal characteristics, DVR and VODfunctionality, third party applications, and the like.

The following field referred to as “enable” enables display andselection functionality. For example, a value 0x01 enables the displayof the object variation and 0x02 enables the selection of the objectvariation, whereas a value of 0x00 causes an object variation (such as amenu option) not to be displayed or selectable. Other values can, forexample, mask a video window and to allow its selection. In the nextfield, the audio PID can be selected when this variation of the objectis highlighted. If this field is 0x000000, the audio will be disabledwhile this object is highlighted. If this field is 0xffffff, the defaultaudio PID will be selected when this object is selected.

The next six active fields define values for display options andmodalities relating to text. The text length and the text to bedisplayed as part of the object variation are specified, as well as thenumber of objects with instant info text to be displayed. The instantinfo text is associated with the object ID of each object to bemodified. Instant info text is text that is displayed as part of anotherobject on the VRN page when this object is highlighted by the user.

The value in the next field is used to skip over, without parsing, anysupplemental data for this object variation that is not supported by theversion of the VRN client.

The following field “flags” is used to set parental controls (“1”),black out (“2”), and tier (“4”) of programs and is followed by theLock-Out/Blackout Definitions, which are shown in detail in FIG. 18B.

Referring now to FIG. 18B, each object definition contains data thatallow programs in individual windows within the VRN channel to be lockedout by the user or blacked out by the service provider. If an individualwindow showing an individual video asset is locked or blacked out, theVRN client will draw an overlay over the top of the window, preventingthe user from viewing the video.

If parental controls are active (set to “1”), the field “lock source ID”locks the object variation based on the provided Source ID. The objectvariation will be locked if and only if a parental control PIN has beenset, if locks have not been bypassed, if the Source ID is in the localchannel map, and if either the Source ID is locked or the programcurrently scheduled to air on the service is locked by title or rating.In some embodiments, the lock criteria may be specified by the objectvariation's software filter, rather than by Source ID. In that case, theVRN client may reevaluate the filter regularly, for example, at leastonce per minute, while the page is displayed to ensure that the parentalcontrol criteria are up-to-date.

If blackout controls are active (set to “2”), the first four fieldsrelating to blackout data define the number of bytes of blackout datafor this variation; number of source IDs that, if present in the localmap, will cause this object variation to be blacked out; specify thenumber of MCA (Multi-Cast Address) values that are to be blacked out;and specify the number of controllers that are to be fully or partiallyblacked out. In some embodiments, the VRN client may dynamically checkthe blackout criteria regularly once the page has been displayed. Thenext three fields relating to blackout data specify the blackout sourceIDs, MCA values, and settop controller ID to which the blackout applies.For each Source ID, if the specified channel is in the channel lineup,the object variation will be blacked out. For each MCA (multicastaddress, e.g., geographical region), the object variation may be blackedout if the user equipment is part of the defined group. For eachcontroller ID, the object variation may be blacked out if the userequipment is controlled by the specified controller. For each controllerID, there may also be a field that holds a count of channel maps and afield with a list of channel map IDs, in which case the blackout will beapplied if the user equipment is controlled by the specified controllerand has one of the specified channel maps. In some embodiments, theblackout criteria may be specified by the object variation's softwarefilter, rather than by Source ID, MCA, controller ID and channel map ID.

The field “tier” refers to potentially required authorizations, but willnot be described further. If tier checking is active, the tier valuespecifies which tier to check for. The tier value is value that uniquelyidentifies an authorization that may or may not be provided by thecontroller. If the tier is authorized, the object variation may beenabled, which if the tier is not authorized the object variation may beblocked or disabled. In some embodiments, the tier may be specified bythe object variation's software filter, rather than by tier value.

The following two fields specify the number of bytes used to define allkey actions and the number of key actions defined for this variation.For each key action, fields define the key code, the action type, andadditional variable data for the action.

The key code in the following field conforms to the standard Motorolakey code, with the only allowed values being 17 (OK), 22 (Lock), 51(Info), 52 (Cursor Up), 53 (Cursor Down), (54 (Cursor Left), and 55(Cursor Right). The action type defines the functionality to beperformed when the specified key is pressed on the remote control whilethe object variation is highlighted. The button functions are defined bythe action variable data, which will now be briefly described.

The action variable data define the details of the actions taken by theclient in response to user selection of the object variation with thespecified key, and the format of the action variable data depends on thespecified action type. The field “Action Type” in FIG. 18B can have thefollowing values:

-   -   0=Home (IPG Main Menu)    -   1=Page Up    -   2=Page Down    -   3=Exit    -   4=Browse    -   5=Message Center    -   6=Favorites    -   7=Local View (weather)    -   8=Setup    -   9=Timers (Manual Recordings)    -   10=VOD Menu or Submenu    -   11=Listings    -   12=Menu    -   13=Third Party Application    -   14=Lock Setup (PIN configuration)    -   15=Lock Selection (Channels, Ratings, Programs, etc. to be        locked)    -   16=Goto    -   17=Subtitles    -   18=Search Screen    -   19=Saved Searches    -   20=Key Press    -   21=Linear Program Action    -   22-99 are not defined, and are ignored by the VRN client    -   100-254 are reserved for IPG defined internal button types    -   255=Inactive

Exemplary defined action variable data fields for illustrative actiontypes are:

-   For “Listings ‘11’”: Listings_type 1=Grid, 2=ChanTime, 3=TimeChan,    4=Chan, 5=Title, 6=A-Z Search, 7=My Recordings, 8=My Schedule    (Scheduled Recordings), 9=Series Priority List    -   Screen_title Variable length title    -   Search_filter Variable length filter string    -   Source_ID List of Source IDs. If present, only displaying        listings from those sources.    -   Other fields specify highlight positions displaying current time        and channel and first program in list not yet airing, preview        channel, and the like.-   For “Goto ‘16’”: Goto_type 1=Source Id (tune) 2=Network Id (tune)    3=VOD Clip (play) 4=VOD Program (info) 5=VRN VOD Clip (play)    6=Addressable Clip (play) 7=Addressable VRN VOD Clip (play)    8=Addressable location within the current VRN VOD Clip 9=VOD submenu    10=VOD listing screen 0, 11-255: Ignored by the VRN client

The actions associated with “Listings ‘11’” further include an actionfield with a search filter that defines the channel and program eventfiltering used to select the listing information to be displayed. Itspecifies specific combination of attributes as described in thefollowing Table 11:

TABLE 11 Position Attribute 1 Basic 2 Premium 3 a la carte 4 PPV 5 NVOD6 Video 7 Data 8 Audio 9 Special Purpose 10 Special Event 11 Adult 12List By Title 13 Movie 14 Child 15 Sports 16 Favorites 17 HDTV Service18 TV Guide Top Picks 19-25 Reserved For sports programs, the followingsubcategories are defined: 26 Football 27 Sports (Misc.) 28 Outdoors 29Ice Hockey 30 Soccer 31 Documentary 32 News/Talk 33 Motor Sports 34Basketball 35 Golf 36 Baseball 37 Horse Racing 38 Pro Wrestling 39Variety 40 History/Biography 41 Extreme Sports 42 Boxing 43 Water Sports44 Volleyball 45 Winter Sports 46 Tennis 47 Track & Field & Running 48Olympics 49 Ice Skating For non-sports programs, the followingsubcategories are defined: 26 Comedy 27 Drama 28 Religion 29 Educational30 Home/How-To 31 Documentary 32 News/Talk 33 Food/Travel 34 Cartoons &Animation 35 Action & Adventure 36 Crime Drama 37 Sci-Fi/Fantasy 38Mystery & Suspense 39 Variety 40 History/Biography 41 Music 42 Health &Fitness 43 Western 44 Science & Technology 45 Business & Finance 46 GameShow & Contest 47 Teens 48 Horror 49 Martial Arts

The search filter string specifies which combinations of program andchannel attributes should be selected for inclusion on the resulting IPGlisting screen. A record will be listed only if it matches one or morecombination specifications. Attributes (the meanings of the bits in theAttributes field and the last 32 bits in the Search Filters) are undercomplete control of the back office, i.e. the VRN client has noknowledge of what the bits mean. I.e., the VRN client only cares if thebits in the Attributes field do or don't match characters in the SearchFilter.

In some embodiments, a VRN application may be defined in one or more XMLdocuments. These XML documents may be transmitted to the VRN client, orthey may be compiled into chunk data as described above, and the chunkdata may be transmitted to the VRN client. In some embodiments, the VRNapplication may be defined in a software application that generates thechunk data directly, without requiring the generation of an intermediateXML format. A schema for an XML document that defines a VRN applicationcan be defined in RELAX NG, which is a simple schema language for XMLand specifies a pattern for the structure and content of an XMLdocument. A RELAX NG schema may itself be an XML document. The detailsof the Relax NG schema are described at the following web site:http://www.relaxng.org.

A Relax NG schema for a VRN application is described in detail inAppendix H of the US provisional patent application Ser. No. 60/667,200,the entire contents of which are incorporated herein by reference.

The required fields to be supplied as chunk data for the XML documentinclude, inter alia, channel references, attributeactivation/deactivation, text string definitions, definitions of graphicobjects to be displayed, user input (e.g., password), software filters,definition of menu buttons, and VRN page definitions. Software filtersfor a VRN application are described in detail in Appendix E of the U.S.provisional patent application Ser. No. 60/667,200, the entire contentsof which are incorporated herein by reference.

Returning to FIG. 1, the XML document for the VRN application can becompiled in compiler 20 of VRN screen data source 14 into binary VRNscreen data that is ultimately received by user equipment 30 andexecuted by a VRN client to provide a VRN application.

In one embodiment, the VRN screen data may be interpreted at the clientby a chunk grammar file defining the format of a VRN chunk using, forexample, a RELAX NG schema described above. The chunk grammar file canalso be compiled into a binary file in compiler 20 and sent to the userequipment 30. The chunk grammar file does not contain chunk data, butenables the transmitted chunk data to be properly interpreted. Anillustrative chunk grammar file for interpreting the chunk data depictedin FIG. 18 is described, for example, in Appendix N of the provisionalapplication Ser. No. 60/667,200, the entire contents of which areincorporated herein by reference.

FIG. 20 shows an illustrative overview of another approach for definingVRN screen data for a VRN application 2010. User interface 18 (FIG. 1)may allow an operator to create and edit four types of files that definea VRN application: template definition files 2020, environmentdefinition files 2030, VRN chunk definition files 2040, and VRN chunkdata 2050.

The template definition file 2020 provides the details of the templatedefinitions. In some embodiments, the file naming standard is VRN 1Template nnn.xml. This template designation was used above in thedescription of the 7 exemplary templates. If the file specifies a singletemplate, “nnn” is the ID of that template. If the file specifies theset of available templates, the “nnn” is omitted. There are two purposesfor this file:

Allow the VRN chunk data to be validated.

Provide information for the user interface to ensure that the correctdata is entered for the selected template.

In some embodiments, these files may be manually generated. Appendix Jof the provisional application Ser. No. 60/667,200 describes anillustrative grammar used to define the format of this file. Appendix Kof the provisional application Ser. No. 60/667,200 provides an exampleof an illustrative template file.

The environment definition file 2030 provides definitions of specificchannels, networks, VOD clips, VOD subcategories, and other assets, thatmay be referenced by name within the VRN data. This allows the operatorof VRN screen data source 14 (FIG. 1) to select these items by name,rather than having to enter a Source ID, Asset ID, or other enigmaticinformation. The file name format may be, for example, “VRN 1Environment xxxx.xml”. The string “xxxx” is a unique name or identifierfor the specific identifier, such as “CMC”.

In some embodiments these files may be manually generated. In someembodiments, these files may be entirely or partly generatedautomatically. For example, the definitions of the names and source IDnumbers of available channels may be generated automatically from asystem that manages channel lineups for cable systems, and thedefinitions of the names of available VOD clips and their provider IDsand asset IDs may be generated automatically from a VOD server. AppendixL of the provisional application Ser. No. 60/667,200 describes theformat of this file. Appendix M of the provisional application Ser. No.60/667,200 provides an example of an illustrative environment definitionfile.

The VRN Chunk Definition File 2040 provides the exact definition of aspecific version of a specific chunk of VRN data in an XML format. Userinterface 18 (FIG. 1) allows an operator to write and send these files.The file name format may be, for example, “VRN 1 Chunk ttt xxxx sssss mccccc vvvvv yyyymmddhhmmss yyyymmddhhmmss.xml”. The string “ttt” is thetemplate number used for the chunk. The string “xxxx” is the environmentidentifier. The string “sssss” is the Source ID on which this chunk isto be transmitted. The string “m” is “M” for master chunks and “s” forsupplemental chunks. The strings “ccccc” and “vvvvv” are the chunk IDand the chunk version number. The filename also includes the start andstop date/time at which this chunk is to be broadcast. See Appendix Nfor an illustrative grammar used to define the format of this file.Appendix O of the provisional application Ser. No. 60/667,200 describesan exemplary VRN chunk definition file for a master chunk. Appendix P ofthe provisional application Ser. No. 60/667,200 provides an illustrativeexample of a VRN chunk definition file for a supplemental chunk.

VRN chunk data files 2050 may be created by compiler 20 in the publishedbinary format for VRN data. One file is created for each data chunk. Thenaming format is the same as for the XML chunk definition files, exceptthat the file extension is “.dat”. An exemplary chunk data file isillustrated in FIGS. 18, 18 a and 18B.

In one exemplary embodiment, the VRN application 2010 depicted in FIG.20 can be managed from user interface 18 in the central facility 10 (seeFIG. 1), or from a user interface in the distribution facility 20 (notshown in FIG. 1). For example, the user interface 18 may be graphic userinterface (GUI) capable of providing one or more of the features listedbelow. These features allow an operator to create and manage VRN screendata in VRN screen data source 14 for a VRN application. The structure

-   -   Manage the template definition files 2020    -   Allow a template definition file 2020 to be loaded    -   Manage the environment definition files 2030    -   Allow an environment definition file 2030 to be loaded    -   Manage the VRN chunk definition files 2040 for master and        supplemental chunks and allow the VRN chunk definition files to        be loaded and updated    -   Create and edit chunk data 2050 for the chunk definition files    -   Output the binary chunk data files 2050 depicted in FIGS. 18 and        19    -   Manage the relationship between master chunks and supplemental        chunks, as described in Section IV    -   Manage the versioning of chunks    -   Automatically calculate fields in the binary chunk data such as        message length, text length, text compression, object offsets,        pad bytes, and checksums; enforce chunk size limitations    -   Present the data input fields on user interface 18 in organized        input forms        -   Include drop-down lists where appropriate to facilitate            entry of fields with pre-defined values        -   Support a mode in which non-standard values can be entered            for these fields for testing purposes        -   Allow fields and values only as appropriate based on the            selected template, the chunk type, and other entered field            values        -   Allow the entry of elements with variable numbers of members            (e.g., multiple objects per chunk, multiple variations per            object, multiple instant info definitions per object)        -   Provide guidance (and limitation) for the entry of software            filters and menu actions

FIG. 21 shows an exemplary process flow 2100 for generating a VRN screenand performing a user-initiated action on a displayed VRN element on theVRN screen based on VRN screen data transmitted to the user equipment.The VRN screen may be, for example, any of the VRN screens describedabove with reference to FIGS. 2 to 17. At step 2110, a client receives avideo feed with VRN assets, for example, form content source 12 or localcontent source 22. The video feed can be a composite video stream or amulti-channel video feed, either digital or analog. The video feed maybe broadcast or on demand. At step 2120, the client also receives VRNscreen data, for example, from VRN screen data source 14, or a screendata source in the distribution facility 20, such as the local insertionequipment 22. Screen data were previously also referred to as controldata, and may be formatted in “chunks.” Screen data may be receivedin-band with the video feed, or may be received out-of-band (e.g., in aseparate feed). If received out-of-band, the screen data may be receivedprior to the receipt of the video feed and stored. At step 2130, theclient may also receive VRN template definitions. The templatedefinitions may be transmitted from the central facility 10 ordistribution facility 20 periodically or occasionally, and may or maynot be stored on user equipment 30. The template definitions may bereceived as part of the VRN client that generates the VRN screen. Thesesteps 2110, 2120 and 2130 define an exemplary VRN application and neednot be performed in a particular order. The VRN application may beoperational with or without templates, but is greatly simplified byusing templates. When the data from steps 2110 and 2120, and optionally2130, are completely received at the client, a VRN display withinteractive VRN screen elements is produced, at step 2140. At step 2150,the user can, for example, highlight a screen element, for example, byusing a remote control device, and the VRN client performs (or causes tobe performed), at step 2160, the actions selected by the user inaccordance with the functions that are enabled by the screen data forthe VRN asset which is in focus. The actions may, as discussed above,cause a full motion video to be displayed, highlight another videobutton, transition to another VRN screen, and the like.

FIG. 22 shows an exemplary process flow 2200 for displaying a VRN screenusing templates on the VRN video assets. At step 2210, the VRN clientsuch as user equipment 30 is activated and receives, at step 2220,templates, unless the templates were previously stored. The templatescan be generated, for example, in central facility 10 via user interface18. At step 2230, the client receives a video feed and, at step 2240,VRN screen data from, for example, central facility 10 or distributionfacility 20, as described above with reference to FIG. 21. The VRNclient is activated at step 2210, for example, when the user first turnson the user's equipment, in response to the user's equipment tuning to achannel having associated VRN screen data, in response to the useractivating a VRN guide, or at any other suitable time. At step 2250, theVRN client checks if all VRN non-video assets necessary to overlay theVRN video feed have been received. If this is the case, the VRN clientoverlays the VRN non-video assets on the VRN feed according to the VRNscreen data, at step 2270. The VRN template can simply be identified byits template ID. VRN elements or buttons on the VRN screen for which noVRN data were received are either omitted from the VRN screen, or theyare shown, but otherwise obscured or disabled, for example, grayed out,step 2260. At step 2280, the VRN screen is displayed, and at step 2290,the VRN client will check periodically if new VRN data are received fromeither central facility 10 or distribution facility 20. The VRN screenwill then be updated based on the additionally received data, forexample, by allowing/preventing assets to be displayed, by substitutingassets in a VRN video feed, by updating enabled interactive functions,and the like.

FIG. 23 is a flowchart of an illustrative process 2300 for creating aVRN screen having, among other things, selectable video elements. Forpurposes of illustration, and not by way of limitation, this process isexplained with respect to the VRN screen of FIG. 2, although it may beused to provide any of the other VRN screens of FIGS. 4-17, or any othersuitable VRN screen with selectable video elements. At step 2310, theuser's equipment (e.g., user equipment 30 of FIG. 1) receives a videofeed of video assets for inclusion in a video rich (VRN) display. In theexample of FIG. 2, each of the video regions of the VRN screen (“MatrixRevolutions,” “On Demand,” “Sports Net,” “CN8” and “Now Playing”) is adifferent asset of the feed, and all of the assets are simultaneouslytransmitted such that they each take up a different portion of theframes of the video stream that make up the feed. In other words, thevideo feed may be considered a single video, with each of the assetsbeing arranged in a different portion of that video feed and beingassociated with a different region on the display.

At step 2320, the VRN client receives VRN screen data. The VRN screendata define the look and feel of the VRN screen that is to be generatedby the client. The VRN screen data define, for example, the source ofthe video feed, and defines the positions of the selectable videoelements, the positions of the other elements of the VRN screen (e.g.,the menu options), and identifies the actual non-video assets of the VRNscreen (e.g., the background of the screen that surrounds the videoassets and menu options, and the menu options themselves). In someembodiments, templates (e.g., defining the wireframe of FIG. 3) may beused as described herein to simplify the screen data.

At step 2330, the VRN client retrieves non-video assets (e.g., the menuoptions and background) from memory (e.g., within the control circuitry32 of user equipment 30 of FIG. 1) to generate the VRN screen. Some orall of the non-video assets may be received as part of the VRN screendata. At step 2340, the VRN client generates the VRN page by overlayingthe non-video assets (e.g., the menu options and background) onto thevideo feed. These non-video assets mask the portions of the video feedthat do not include the video assets used for the VRN buttons.Approaches for overlaying elements onto video are known in the art. Itshould be noted that not all of the video assets of a feed may beviewable on any given page and/or at any given time. For example,additional assets for inclusion in other VRN screens, such as the VRNscreen accessible by the user from a displayed VRN screen, may beincluded in a feed. In some embodiments, assets from sources notavailable to the user may be masked by the VRN client. The VRN screendata define which assets are provided on which VRN screens. Unusedassets are masked by non-video elements and are not displayed.

The VRN screen data may also define video assets as selectable therebyproviding VRN video buttons as described herein. At step 2350, the VRNclient displays the generated VRN screen on the user's equipment (e.g.,on display device 34 of FIG. 1) and, at step 2360, positions a highlightregion on a video asset in accordance with the VRN screen data. Thescreen data may define the video asset (and the other video assets) by,for example, defining the x/y position of a corner coordinate and thesize of a video asset, or the x/y positions of the four corners of thevideo asset, or using any other suitable approach. In some embodiments,this information is specified in a template. When a video asset (orother object) is highlighted, the VRN client may perform other suitableactions that may be specified by the template or the screen data. Forexample, the VRN client may select an audio track associated with ahighlighted video asset and it may display user help text or otherinformation related to the highlighted asset in another screen location(instant information). At step 2370, the VRN client receives a usercommand (e.g., from input device 38 of FIG. 1). When the user command isa navigation command, the VRN client moves the highlight region toanother on-screen element. For clarity, FIG. 23 shows only positioningthe highlight region on another video asset. In practice, the highlightregion may also be placed on non-video elements such as the menu optionsof FIG. 2. When the user command is a selection command, the VRN clientwill perform the action associated with the selectable element asdefined in the VRN screen data, step 2380. Identifying which element hasbeen navigated to and/or selected may be accomplished using any suitableapproach. For example, the VRN client may track the user's navigationhistory and/or current position, wherein the navigation positions areassociated with elements in the VRN screen data.

FIG. 24 shows an exemplary process flow 2400 for generating a VRNapplication from several VRN video and screen data feeds. At step 2410,user equipment 30 receives from a content source, such as content source12 and/or 24, multiple VRN channels which as described above, can beseparate analog/digital channels and/or video channels from a compositevideo stream. At step 2420, user equipment 30 receives from VRN screendata source 14 or local insertion equipment 22 multiple VRN screen datafor the various video channels and generates, at step 2430, for displayon display device 34 an interactive video screen with VRN elements froma first channel with interactive functions and features defined by thescreen data associated with the first video channel. At step 2440, usermay select a VRN video element, such as exemplary VRN button 12 (labeled“ESPN”) of FIGS. 4 and 5 that requires or is linked to one or moreadditional VRN assets from another VRN video channel. This may happen,for example, if the user highlights an interactive VRN video elementtitled “SPORTS” (not shown) and opens another VRN screen with multiplesports sources, such as the sports channels ESPN, FOX SPORTS, ESPN2,SPEED, NBA, and NFL, as depicted in FIGS. 10 and 11, with not all of thesports channels sharing a common video channel. The organization of VRNvideo data and VRN screen data with multiple sources may be controlledby application data source, for example, via suitable control data orchunks, as described above.

At step 2450, the VRN elements of the second (and/or additional) channelare displayed (FIG. 10), with interactive functions that are defined bythe VRN screen data from the second (and/or additional) VRN screen data,which actions will then be perform in response to user input, at step2460. In some embodiments, multiple sets of VRN screen data may beassociated with a single VRN channel. Each set of screen data mayrepresent a different VRN screen, with a different set of non-videoassets and objects that may be displayed as overlays on the same videobackground.

Thus, an interactive media guidance application with video-richnavigation (VRN) is provided. Video content may be displayed on a VRNscreen which may include traditional and interactive video buttons. Oneskilled in the art will appreciate that the present invention can bepracticed by other than the described embodiments, which are presentedfor purposes of illustration and not of limitation, and the presentinvention is limited only by the claims which follow.

1-29. (canceled)
 30. A method for providing a video-rich navigationinterface, comprising: receiving, with a client, a video feed comprisingvideo data for a plurality of video assets and screen data associatedwith the video feed; receiving, with the client, a template defining alayout for a first interactive display, wherein the template includesplaceholders, instead of videos of the plurality of video assets fromthe received video feed, for video content; populating the template byresolving the placeholders with the videos of the plurality of videoassets from the received video feed, wherein the placeholders areresolved based on the screen data; and generating for display the firstinteractive display, wherein the first interactive display is defined bythe template and populated with the videos of the plurality of videoassets from the received video feed.
 31. The method of claim 30, whereinthe placeholders are for visual elements of the first interactivedisplay, and each video asset in the first interactive display islocated in a position in the first interactive display that correspondsto one of the placeholders.
 32. The method of claim 30, wherein theplaceholders in the template are resolved with selectable andnon-selectable items based on the screen data.
 33. The method of claim30, wherein the screen data includes asset identifiers, and populatingthe template comprises retrieving visual elements corresponding to theasset identifiers.
 34. The method of claim 30, wherein the template isassociated with a template identifier, and receiving the templatecomprises retrieving the template from memory using the templateidentifier.
 35. The method of claim 34, wherein the template identifieris specified in the screen data associated with the video feed.
 36. Themethod of claim 30, wherein receiving the template comprises one ofreceiving the template in a video-rich navigation data feed, downloadingthe template from a distribution facility, accessing a template embeddedas part of a video-rich navigation client, receiving the template in afeed of interactive program guide data, and retrieving the template fromlocal memory at the client.
 37. The method of claim 30, wherein thetemplate defines a home page interactive display.
 38. The method ofclaim 37, wherein the home page is a default display generated whenvideo-rich navigation is initiated.
 39. The method of claim 30, furthercomprising: receiving a user selection of a displayed element in thefirst interactive display; and generating for display a secondinteractive display based on the user selection.
 40. The method of claim39, wherein the second interactive display is generated from a secondtemplate.
 41. The method of claim 40, wherein the second template isassociated with a second template identifier, and the screen datarelates the second template identifier with the selected displayedelement in the first interactive display.
 42. The method of claim 30,wherein generating for display the first interactive display comprisesgenerating for display a highlight on a default selectable element inthe first interactive display, wherein the default selectable element isdefined by the template.
 43. The method of claim 30, wherein thetemplate defines at least one of a location, appearance, size, shape, ornavigation behavior for an element in the first interactive display. 44.A system for providing a video-rich navigation interface, the systemcomprising control circuitry configured to: receive a video feedcomprising video data for a plurality of video assets and screen dataassociated with the video feed; receive a template defining a layout fora first interactive display, wherein the template includes placeholders,instead of videos of the plurality of video assets from the receivedvideo feed, for video content; populate the template by resolving theplaceholders with the videos of the plurality of video assets from thereceived video feed, wherein the placeholders are resolved based on thescreen data; and generate for display the first interactive display,wherein the first interactive display is defined by the template andpopulated with the videos of the plurality of video assets from thereceived video feed.
 45. The system of claim 44, wherein theplaceholders are for visual elements of the first interactive display,and each video asset in the first interactive display is located in aposition in the first interactive display that corresponds to one of theplaceholders.
 46. The system of claim 44, wherein the placeholders inthe template are resolved with selectable and non-selectable items basedon the screen data.
 47. The system of claim 44, wherein the screen dataincludes asset identifiers, and populating the template comprisesretrieving visual elements corresponding to the asset identifiers. 48.The system of claim 44, wherein the template is associated with atemplate identifier, and receiving the template comprises retrieving thetemplate from memory using the template identifier.
 49. The system ofclaim 48, wherein the template identifier is specified in the screendata associated with the video feed.
 50. The system of claim 44, whereinreceiving the template comprises one of receiving the template in avideo-rich navigation data feed, downloading the template from adistribution facility, accessing a template embedded as part of avideo-rich navigation client, receiving the template in a feed ofinteractive program guide data, and retrieving the template from localmemory at the client.
 51. The system of claim 44, wherein the templatedefines a home page interactive display.
 52. The system of claim 51,wherein the home page is a default display generated when video-richnavigation is initiated.
 53. The system of claim 44, wherein the controlcircuitry is further configured to: receive a user selection of adisplayed element in the first interactive display; and generate fordisplay a second interactive display based on the user selection. 54.The system of claim 53, wherein the second interactive display isgenerated from a second template.
 55. The system of claim 54, whereinthe second template is associated with a second template identifier, andthe screen data relates the second template identifier with the selecteddisplayed element in the first interactive display.
 56. The system ofclaim 44, wherein generating for display the first interactive displaycomprises generating for display a highlight on a default selectableelement in the first interactive display, wherein the default selectableelement is defined by the template.
 57. The system of claim 44, whereinthe template defines at least one of a location, appearance, size,shape, or navigation behavior for an element in the first interactivedisplay.